﻿#region USING STATEMENTS
using System;
using System.Collections.Generic;
#endregion

#region CODE BODY
namespace Fusion.Windows
{
    public class ServiceContainer : IServiceProvider
    {
        //////////////////////////////////////////////////
        // Data Fields
        //////////////////////////////////////////////////
        Dictionary<Type, object> Services;

        //////////////////////////////////////////////////
        // Constructors
        //////////////////////////////////////////////////
        public ServiceContainer()
        {
            Services = new Dictionary<Type, object>();
        }

        //////////////////////////////////////////////////
        // Public Methods
        //////////////////////////////////////////////////
        public void AddService<T>(T Service)
        {
            Services.Add(typeof(T), Service);
        }
        public object GetService(Type ServiceType)
        {
            object Service;
            Services.TryGetValue(ServiceType, out Service);
            return Service;
        }
    }
}
#endregion

//////////////////////////////////////////////////////////////////////////////////////////////
// Copyright 2012 Jeffery Thomas Sventora
//////////////////////////////////////////////////////////////////////////////////////////////